restart;  

 

 

f := proc (x) options operator, arrow, function_assign; `+`(`*`(A, `*`(sin(x))), `*`(B, `*`(cos(x)))) end proc;  

f := proc (x) options operator, arrow; `+`(`*`(A, `*`(sin(x))), `*`(B, `*`(cos(x)))) end proc; (8.7.1)
 

fp := proc (x) options operator, arrow, function_assign; (D(f))(x) end proc;  

fp := proc (x) options operator, arrow; (D(f))(x) end proc; (8.7.2)
 

fpp := proc (x) options operator, arrow, function_assign; ((`@@`(D, 2))(f))(x) end proc;  

fpp := proc (x) options operator, arrow; ((`@@`(D, 2))(f))(x) end proc; (8.7.3)
 

`+`(fpp(x), fp(x), `-`(`*`(2, `*`(f(x)))));  

`+`(`-`(`*`(3, `*`(A, `*`(sin(x))))), `-`(`*`(3, `*`(B, `*`(cos(x))))), `*`(A, `*`(cos(x))), `-`(`*`(B, `*`(sin(x))))); (8.7.4)
 

 

`+`(`*`(`+`(A, `-`(`*`(3, `*`(B)))), `*`(cos(x))), `-`(`*`(3, `*`(A, `*`(sin(x))))), `-`(`*`(B, `*`(sin(x))))); (8.7.5)
 

 

`+`(`*`(`+`(`-`(`*`(3, `*`(A))), `-`(B)), `*`(sin(x))), `*`(`+`(A, `-`(`*`(3, `*`(B)))), `*`(cos(x)))); (8.7.6)
 

 

solve({`+`(`-`(`*`(3, `*`(A))), `-`(B)) = 1, `+`(A, `-`(`*`(3, `*`(B)))) = 0}, {A, B});  

{A = -`/`(3, 10), B = -`/`(1, 10)}; (8.7.7)
 

assign({A = -`/`(3, 10), B = -`/`(1, 10)};  

f(x);  

`+`(`-`(`*`(`/`(3, 10), `*`(sin(x)))), `-`(`*`(`/`(1, 10), `*`(cos(x))))); (8.7.8)
 

 

`+`(fpp(x), fp(x), `-`(`*`(2, `*`(f(x)))));  

sin(x); (8.7.9)